package com.watson.db.mapper;

import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.watson.db.enrity.User;
import org.apache.ibatis.annotations.Param;

/**
 * @Author watson
 * @Date 2022/7/6 21:11
 * @Description: TODO
 * @Version 1.0
 */
public interface UserMapper extends BaseMapper<User> {
    int myCount();

    Iterable<Object> getAddrAndUser(Object o);

    //通过租户注解的形式，目前只能作用于Mapper的方法上。
    /**
     * 自定Wrapper修改
     *
     * @param userWrapper 条件构造器
     * @param user        修改的对象参数
     * @return
     */
    @SqlParser(filter = true)
    int updateByMyWrapper(@Param(Constants.WRAPPER) Wrapper<User> userWrapper, @Param("user") User user);

    Iterable<Object> getUserAndAddr(Object o);
}
